iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0

接下來我們就要進入Lab2的環節了,我們不會只像Lab只實作了簡單的單機儲存系統,我們會有API層、data層、心跳機制等等,下圖給出了我們的大致的架構
https://ithelp.ithome.com.tw/upload/images/20210913/2013027124pNgTjJj7.jpg

今天先講API層的細節,API層主要是expose儲存的service給外部,我們的API定義在這

https://github.com/kaichiachen/python-simple-object-storage/blob/master/distributed_obj_system/backend/api/run.py

如下所示

  • version list

@app.route("/versions/<obj_name>", methods=['GET'])

  • object size

@app.route("/objects/size/<obj_name>", methods=['GET'])

  • object location

@app.route("/objects/locate/<obj_name>", methods=['GET'])

  • upload object

@app.route("/objects/<obj_name>", methods=['POST'])

  • download object

@app.route("/objects/<obj_name>", methods=['GET'])

特別說一下上圖upload object的流程,upload我們不會透過Restful API傳遞object資料,而是透過Kafka這種生產者消費者middle ware給data server去消費
這篇大概說了一下API層有什麼API,接下來說Data server層的溝通機制


上一篇
Day12 分散式儲存系統的必要功能
下一篇
Day14 Lab 2 - Object storage data层和心跳
系列文
淺入淺出分散式儲存30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言